home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / share / maxima / 5.9.0 / src / desoln.lisp < prev    next >
Encoding:
Text File  |  2003-02-09  |  3.0 KB  |  89 lines

  1. ;;; -*-  Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
  2. ;;;Translated on: 5/12/85 13:15:46;;Maxima System version 8
  3. ;;** Variable settings were **
  4.  
  5. (in-package "MAXIMA")
  6.  
  7. ;;TRANSCOMPILE:FALSE;
  8. ;;TR_SEMICOMPILE:FALSE;
  9. ;;TRANSLATE_FAST_ARRAYS:TRUE;
  10. ;;TR_WARN_UNDECLARED:COMPILE;
  11. ;;TR_WARN_MEVAL:COMPFILE;
  12. ;;TR_WARN_FEXPR:COMPFILE;
  13. ;;TR_WARN_MODE:ALL;
  14. ;;TR_WARN_UNDEFINED_VARIABLE:ALL;
  15. ;;TR_FUNCTION_CALL_DEFAULT:GENERAL;
  16. ;;TR_ARRAY_AS_REF:TRUE;
  17. ;;TR_NUMER:FALSE;
  18. ;;DEFINE_VARIABLE:FALSE;
  19. (EVAL-WHEN (COMPILE EVAL LOAD)
  20.  (DEFPROP $DESOLVE T TRANSLATED)
  21.  (ADD2LNC '$DESOLVE $PROPS)
  22.  (DEFMTRFUN
  23.   ($DESOLVE $ANY MDEFINE NIL NIL)
  24.   ($EQNS $VARS)
  25.   NIL
  26.   ((LAMBDA
  27.     ($TEQNS $TVARS $OVAR $LVAR $FLAG $DISPFLAG)
  28.     NIL
  29.     NIL
  30.     (SETQ $FLAG NIL)
  31.     (COND ((NOT ($LISTP $VARS))
  32.            (SETQ $EQNS (LIST '(MLIST) $EQNS))
  33.            (SETQ $VARS (LIST '(MLIST) $VARS))
  34.            (SETQ $FLAG T)))
  35.     (COND
  36.      ((NOT (EQL ($LENGTH (SETQ $OVAR (MAREF $VARS 1)))
  37.                 1))
  38.       (SIMPLIFY ($ERROR $OVAR
  39.                         '|&contains more than one independent variable.|))))
  40.     (SETQ $OVAR (SIMPLIFY ($INPART $OVAR 1)))
  41.     (SETQ $DISPFLAG NIL)
  42.     (SETQ
  43.      $TEQNS
  44.      (SIMPLIFY (MAP1 (GETOPR (M-TLAMBDA&ENV (($Z) ($OVAR $LVAR))
  45.                                             NIL
  46.                                             (SIMPLIFY ($LAPLACE $Z
  47.                                                                 $OVAR
  48.                                                                 $LVAR))))
  49.                      $EQNS)))
  50.     (SETQ
  51.      $TVARS
  52.      (SIMPLIFY (MAP1 (GETOPR (M-TLAMBDA&ENV (($Z) ($OVAR $LVAR))
  53.                                             NIL
  54.                                             (SIMPLIFY `((%LAPLACE) ,$Z ,
  55.                                                         $OVAR ,$LVAR))))
  56.                      $VARS)))
  57.     (SETQ
  58.      $TEQNS
  59.      ((LAMBDA (ERRCATCH RET)
  60.           (COND ((NULL (SETQ RET (ERRSET (PROGN (SIMPLIFY ($SOLVE $TEQNS
  61.                                                                   $TVARS)))
  62.                                          LISPERRPRINT)))
  63.                  (ERRLFUN1 ERRCATCH)))
  64.           (CONS '(MLIST) RET))
  65.       (CONS BINDLIST LOCLIST)
  66.       NIL))
  67.     (COND ((OR (LIKE $TEQNS '((MLIST)))
  68.                (LIKE $TEQNS (LIST '(MLIST) '((MLIST)))))
  69.            (SIMPLIFY ($ERROR '|&DESOLVE can't handle this case.|)))
  70.           (T (SETQ $TEQNS (SIMPLIFY ($FIRST $TEQNS)))))
  71.     (COND ((NOT (LIKE $FLAG T))
  72.            (SETQ $TEQNS (SIMPLIFY ($FIRST $TEQNS)))))
  73.     (SETQ
  74.      $TEQNS
  75.      (SIMPLIFY (MAP1 (GETOPR (M-TLAMBDA&ENV (($Z) ($LVAR $OVAR))
  76.                                             NIL
  77.                                             (SIMPLIFY ($ILT $Z
  78.                                                             $LVAR
  79.                                                             $OVAR))))
  80.                      $TEQNS)))
  81.     (COND ((AND $FLAG (EQL ($LENGTH $TVARS) 1))
  82.            (MAREF $TEQNS 1))
  83.           (T $TEQNS)))
  84.    '$TEQNS
  85.    '$TVARS
  86.    '$OVAR
  87.    '$LVAR
  88.    '$FLAG
  89.    '$DISPFLAG)))